/**
 * Clase que representa la estructura de la tabla en un objeto Java. Cada
 * atributo de la tabla es creado como variables y su formato como anotaciones
 *
 * @version 1.0, 25/04/12
 * @author avbravo
 */
package system.mail_configuration;

import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import system.general.Columna;

@ManagedBean(name = "system_mailBeans")
@RequestScoped
public class Beans {

    @Columna(nombre = "id", tipo = "Integer")
    private Integer id = 0;
    @Columna(nombre = "correo", tipo = "String")
    private String correo = "";
    @Columna(nombre = "clave", tipo = "String")
    private String clave = "";
    @Columna(nombre = "puerto", tipo = "String")
    private String puerto = "";

    public Beans() {
    }

    public Beans(int id, String correo, String clave, String puerto) {
        this.id = id;
        this.correo = correo;
        this.clave = clave;
        this.puerto = puerto;
    }

    /**
     * Método que permite inicializar todas las variables
     */
    public void clearBeans() {
        setId(0);
        setCorreo("");
        setClave("");
        setPuerto("");
    }

    /**
     * Método que permite sustituir caracteres especiales que puedan afectar las
     * sentencias SQL. por ejemplo: ('), (/). Debe ser utilizado en el (set) de
     * los atributos tipo String.
     *
     * @param data cualquier dato tipo String
     * @return Devuelve el dato con la sustitución de caracteres especiales
     */
    private String strScape(String data) {
        data = data.trim();
        data = data.replace("'", "''");
        data = data.replace("\\", "\\\\");
        return data;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return this.id;
    }

    public void setClave(String clave) {
        this.clave = strScape(clave);
    }

    public String getClave() {
        return this.clave;
    }

    /**
     * @return the correo
     */
    public String getCorreo() {
        return correo;
    }

    /**
     * @param correo the correo to set
     */
    public void setCorreo(String correo) {
        this.correo = correo;
    }

    /**
     * @return the puerto
     */
    public String getPuerto() {
        return puerto;
    }

    /**
     * @param puerto the puerto to set
     */
    public void setPuerto(String puerto) {
        this.puerto = puerto;
    }
}
